package com.gopay.remote.cps.notify.order;


/**
 * 商户通知远程接口
 * 
 * @MerNotifyOrderRemoteService.java
 * @author yaobo
 * @2013-2-28 上午11:42:01 www.gopay.com.cn Inc.All rights reserved.
 */
public interface MerNotifyOrderRemoteService {
    /**
     * 新增商户通知
     * 
     * @param orderId
     *            订单号
     * @param isFrontNotify
     *            是否前台通知
     * @param getwayType
     *            网关类型
     * @return
     */
    public int addNotify(String orderId, boolean isFrontNotify, String getwayType);
    
    /**
     * 新增商户通知
     * 
     * @param orderId
     *            订单号
     * @param isFrontNotify
     *            是否前台通知
     * @param getwayType
     *            网关类型
     * @param createChl
     *            创建来源
     * @return
     */
    public int addNotify(String orderId, boolean isFrontNotify, String getwayType, String createChl);

    /**
     * 新增大宗商户通知
     * 
     * @param contractId
     *            协议号
     * @param inTxnCd
     *            内部交易码
     * @param isFrontNotify
     *            是否前台通知
     * @return
     */
    public int addBtNotify(String contractId, String inTxnCd, boolean isFrontNotify);

    /**
     * 新增P2P签约商户通知
     * @param contractId 协议号
     * @param inTxnCd 内部交易码
     * @param isFrontNotify 是否前台通知
     * @return
     */
    public int addGpSignNotify(String contractId, String inTxnCd, boolean isFrontNotify);
    /**
    * 云帐户通知
    * @param transDtlSq 网关sq
    * @param isFrontNotify 区分0前台通知1-后台通知
    * @param getwayType 网关类型
    * @return
    */ 
    
    
    public int addNotifyCloud(String gopayOrderId,String transDtlSq,boolean isFrontNotify,String getwayType);

    /**
     * 网关分账帐户通知
     * @param transDtlSq 网关sq
     * @param isFrontNotify 区分0前台通知1-后台通知
     * @param getwayType 网关类型
     * @return
     */
    int addNotifySplit(String gopayOrderId,String transDtlSq,boolean isFrontNotify,String getwayType);

    /**
     * E键支付生成付款到银行订单通知
     * @param gopayOrderId 收款订单号
     * @param errMsg 错误信息
     * @param transDtlSq 流水
     * @param isFrontNotify
     * @param getwayType
     * @return
     */
    int addNotifyEpay(String gopayOrderId, String errMsg, String transDtlSq, boolean isFrontNotify, String getwayType);
    
    
    /**
     * 云帐户通知  手动发起
     * @param transDtlSq 网关sq
     * @param isFrontNotify 区分0前台通知1-后台通知
     * @param getwayType 网关类型
     * @return
     */
    public int addNotifyCloud(String gopayOrderId,String transDtlSq,boolean isFrontNotify,String getwayType,String createChl);
    
    /**
     * 生钱包注册通知
     * @param registerVo
     * @param isFrontNotify
     * @param getwayType
     * @return
     */
    public int addNotifyLiveWalletRegister(String notifyUrl,String contractId,boolean isFrontNotify,String getwayType);
    
    /**
     * 新增G商融通P2P签约商户通知
     * @param contractId
     * @param transDtl
     * @param inTxnCd
     * @param isFrontNotify
     * @return
     */
    public int addGsrtSignNotify(String gopayOrderId, Long transDtl, String inTxnCd, boolean isFrontNotify);
    
    
    /**
     * G商融通后台通知  投标 还款 签约   失效超时的后台通知给商户
     * @param contractId
     * @param transDtl
     * @param inTxnCd
     * @param isFrontNotify
     * @return
     */
    public int addGsrtMerNotify(String merOrderId, Long transDtl, String inTxnCd, boolean isFrontNotify);
    
    /**
     * 钱包app中将成功的订单后台通知给商户
     * @param gopayOrderId
     * @param isFrontNotify
     * @return
     * add by tangyang at 20171207
     */
    public int addNotifyWallet(String gopayOrderId,boolean isFrontNotify);
}
